using System;
using System.Collections.Generic;
using System.Text;
using Auxiliaries;

namespace Terminal.Advanced_AEUC_settings_controls.Settings_AUX
{
    /// <summary>
    /// Represents a generic AEUC-Setting
    /// </summary>
    public class GenAEUCSetting : Auxiliaries.MergeSort.IMergeSortable
    {
        /// <summary>
        /// Setting ID
        /// </summary>
        public uint AEUC_id;
        /// <summary>
        /// Setting size
        /// </summary>
        public uint AEUC_size;
        /// <summary>
        /// Setting value byte array
        /// </summary>
        public byte[] AEUC_val;
        /// <summary>
        /// Flag indicating if this setting is signed or unsigned
        /// </summary>
        public bool AEUC_signed = false;
        /// <summary>
        /// Flag indicating if this setting is memory pointer
        /// </summary>
        public bool AEUC_pointer = false;
        /// <summary>
        /// Overrided ToString() method of the class
        /// </summary>
        /// <returns>String representation of the object</returns>
        public override string ToString()
        {
            return AEUC_id.ToString();
        }

        #region IMergeSortable Members
        /// <summary>
        /// The IMergeSortable required comparisson argument
        /// </summary>
        public ulong argument
        {
            get { return AEUC_id; }
        }

        #endregion
    }
}
